﻿namespace MicroCloud.Message.Dtos
{
    /// <summary>
    /// 输出DTO：消息
    /// </summary>
    [MapFrom(typeof(MessageEntity))]
    public class MessageOutputDto : MessageInputDto, IOutputDto
    {
        #region "属性"
        #region "获取或设置 系统消息"
        /// <summary>
        /// 获取或设置 系统消息
        /// </summary>
        [DisplayName("系统消息")]
        public bool IsSystem { get; set; }
        #endregion
        #region "获取或设置 发送者编号"
        /// <summary>
        /// 获取或设置 发送者编号
        /// </summary>
        [DisplayName("发送者编号")]
        public long? SenderId { get; set; }
        #endregion
        #region "获取或设置 发送者名称"
        /// <summary>
        /// 获取或设置 发送者名称
        /// </summary>
        [DisplayName("发送者名称")]
        public string SenderName { get; set; }
        #endregion
        #region "获取或设置 发送者昵称"
        /// <summary>
        /// 获取或设置 发送者昵称
        /// </summary>
        [DisplayName("发送者昵称")]
        public string SenderNickname { get; set; }
        #endregion
        #region "获取或设置 是否已发送"
        /// <summary>
        /// 获取或设置 是否已发送
        /// </summary>
        [DisplayName("是否已发送")]
        public bool IsSent { get; set; }
        #endregion

        #region "获取或设置 创建者编号 ICreationAudited 可装载接口，在数据创建时可自动设置当前用户值"
        /// <summary>
        /// 获取或设置 创建者编号
        /// </summary>
        [DisplayName("创建者编号")]
        public long? CreatorId { get; set; }
        #endregion
        #region "获取或设置 创建者名称"
        /// <summary>
        /// 获取或设置 创建者名称
        /// </summary>
        [DisplayName("创建者名称")]
        public string CreatorName { get; set; }
        #endregion
        #region "获取或设置 创建者昵称"
        /// <summary>
        /// 获取或设置 创建者昵称
        /// </summary>
        [DisplayName("创建者昵称")]
        public string CreatorNickname { get; set; }
        #endregion
        #region "获取或设置 创建时间 ICreatedTime、ICreationAudited  可装载接口，在数据创建时可自动设置当前时间"
        /// <summary>
        /// 获取或设置 创建时间
        /// </summary>
        [DisplayName("创建时间")]
        public DateTime CreatedTime { get; set; }
        #endregion

        #region "获取或设置 更新者编号 IUpdateAudited 可装载接口，在数据更新时可自动设置当前用户值"
        /// <summary>
        /// 获取或设置 更新者编号
        /// </summary>
        [DisplayName("更新者编号")]
        public long? UpdaterId { get; set; }
        #endregion
        #region "获取或设置 更新者名称"
        /// <summary>
        /// 获取或设置 更新者名称
        /// </summary>
        [DisplayName("更新者名称")]
        public string UpdaterName { get; set; }
        #endregion
        #region "获取或设置 更新者昵称"
        /// <summary>
        /// 获取或设置 更新者昵称
        /// </summary>
        [DisplayName("更新者昵称")]
        public string UpdaterNickname { get; set; }
        #endregion
        #region "获取或设置 更新时间 IUpdatedTime、IUpdateAudited 可装载接口，在数据更新时可自动设置当前时间"
        /// <summary>
        /// 获取或设置 更新时间
        /// </summary>
        [DisplayName("更新时间")]
        public DateTime? UpdatedTime { get; set; }
        #endregion

        #endregion

    }

}
